Expand description
? formatting.
Debug should format the output in a programmer-facing, debugging context.
Generally speaking, you should just derive a Debug implementation.
When used with the alternate format specifier #?, the output is pretty-printed.
For more information on formatters, see the module-level documentation.
This trait can be used with #[derive] if all fields implement Debug. When
derived for structs, it will use the name of the struct, then {, then a
comma-separated list of each field’s name and Debug value, then }. For
enums, it will use the name of the variant and, if applicable, (, then the
Debug values of the fields, then ).
Stability
Derived Debug formats are not stable, and so may change with future Rust
versions. Additionally, Debug implementations of types provided by the
standard library (libstd, libcore, liballoc, etc.) are not stable, and
may also change with future Rust versions.
Examples
Deriving an implementation:
#[derive(Debug)]
struct Point {
x: i32,
y: i32,
}
let origin = Point { x: 0, y: 0 };
assert_eq!(format!("The origin is: {origin:?}"), "The origin is: Point { x: 0, y: 0 }");Manually implementing:
use std::fmt;
struct Point {
x: i32,
y: i32,
}
impl fmt::Debug for Point {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
f.debug_struct("Point")
.field("x", &self.x)
.field("y", &self.y)
.finish()
}
}
let origin = Point { x: 0, y: 0 };
assert_eq!(format!("The origin is: {origin:?}"), "The origin is: Point { x: 0, y: 0 }");There are a number of helper methods on the Formatter struct to help you with manual
implementations, such as debug_struct.
Types that do not wish to use the standard suite of debug representations
provided by the Formatter trait (debug_struct, debug_tuple,
debut_list, debug_set, debug_map) can do something totally custom by
manually writing an arbitrary representation to the Formatter.
impl fmt::Debug for Point {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
write!(f, "Point [{} {}]", self.x, self.y)
}
}Debug implementations using either derive or the debug builder API
on Formatter support pretty-printing using the alternate flag: {:#?}.
Pretty-printing with #?:
#[derive(Debug)]
struct Point {
x: i32,
y: i32,
}
let origin = Point { x: 0, y: 0 };
assert_eq!(format!("The origin is: {origin:#?}"),
"The origin is: Point {
x: 0,
y: 0,
}");Required methods
Formats the value using the given formatter.
Examples
use std::fmt;
struct Position {
longitude: f32,
latitude: f32,
}
impl fmt::Debug for Position {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
f.debug_tuple("")
.field(&self.longitude)
.field(&self.latitude)
.finish()
}
}
let position = Position { longitude: 1.987, latitude: 2.983 };
assert_eq!(format!("{position:?}"), "(1.987, 2.983)");
assert_eq!(format!("{position:#?}"), "(
1.987,
2.983,
)");Trait Implementations
Implementations on Foreign Types
1.10.0 · sourceimpl Debug for SocketAddr
impl Debug for SocketAddr
1.36.0 · sourceimpl<'a> Debug for IoSliceMut<'a>
impl<'a> Debug for IoSliceMut<'a>
1.16.0 · sourceimpl Debug for ChildStdout
impl Debug for ChildStdout
1.12.0 · sourceimpl Debug for RecvTimeoutError
impl Debug for RecvTimeoutError
1.8.0 · sourceimpl Debug for SystemTimeError
impl Debug for SystemTimeError
1.10.0 · sourceimpl Debug for FromBytesWithNulError
impl Debug for FromBytesWithNulError
1.16.0 · sourceimpl<'_, T> Debug for RwLockWriteGuard<'_, T> where
T: Debug,
impl<'_, T> Debug for RwLockWriteGuard<'_, T> where
T: Debug,
sourceimpl<'_, K, V, S> Debug for RawOccupiedEntryMut<'_, K, V, S> where
K: Debug,
V: Debug,
impl<'_, K, V, S> Debug for RawOccupiedEntryMut<'_, K, V, S> where
K: Debug,
V: Debug,
1.10.0 · sourceimpl Debug for UnixListener
impl Debug for UnixListener
1.16.0 · sourceimpl<'_, T> Debug for MutexGuard<'_, T> where
T: Debug + ?Sized,
impl<'_, T> Debug for MutexGuard<'_, T> where
T: Debug + ?Sized,
1.54.0 · sourceimpl<K, V> Debug for IntoValues<K, V> where
V: Debug,
impl<K, V> Debug for IntoValues<K, V> where
V: Debug,
1.13.0 · sourceimpl Debug for DefaultHasher
impl Debug for DefaultHasher
1.16.0 · sourceimpl<'_> Debug for StdoutLock<'_>
impl<'_> Debug for StdoutLock<'_>
sourceimpl<'_, K, V, S> Debug for RawEntryBuilder<'_, K, V, S>
impl<'_, K, V, S> Debug for RawEntryBuilder<'_, K, V, S>
sourceimpl<T> Debug for TrySendError<T>
impl<T> Debug for TrySendError<T>
sourceimpl Debug for Ipv6MulticastScope
impl Debug for Ipv6MulticastScope
1.16.0 · sourceimpl<'_, T, S> Debug for Intersection<'_, T, S> where
T: Debug + Eq + Hash,
S: BuildHasher,
impl<'_, T, S> Debug for Intersection<'_, T, S> where
T: Debug + Eq + Hash,
S: BuildHasher,
1.6.0 · sourceimpl Debug for DirBuilder
impl Debug for DirBuilder
1.7.0 · sourceimpl Debug for StripPrefixError
impl Debug for StripPrefixError
1.16.0 · sourceimpl<'_, T, S> Debug for Difference<'_, T, S> where
T: Debug + Eq + Hash,
S: BuildHasher,
impl<'_, T, S> Debug for Difference<'_, T, S> where
T: Debug + Eq + Hash,
S: BuildHasher,
1.16.0 · sourceimpl<T> Debug for JoinHandle<T>
impl<T> Debug for JoinHandle<T>
1.58.0 · sourceimpl Debug for FromVecWithNulError
impl Debug for FromVecWithNulError
sourceimpl<W> Debug for IntoInnerError<W> where
W: Debug,
impl<W> Debug for IntoInnerError<W> where
W: Debug,
1.16.0 · sourceimpl<'_> Debug for StderrLock<'_>
impl<'_> Debug for StderrLock<'_>
sourceimpl<'a> Debug for SocketAncillary<'a>
impl<'a> Debug for SocketAncillary<'a>
1.7.0 · sourceimpl Debug for IntoStringError
impl Debug for IntoStringError
1.16.0 · sourceimpl Debug for ChildStdin
impl Debug for ChildStdin
sourceimpl<'a> Debug for PrefixComponent<'a>
impl<'a> Debug for PrefixComponent<'a>
1.16.0 · sourceimpl Debug for RandomState
impl Debug for RandomState
1.12.0 · sourceimpl<'_, K, V> Debug for VacantEntry<'_, K, V> where
K: Debug,
impl<'_, K, V> Debug for VacantEntry<'_, K, V> where
K: Debug,
1.8.0 · sourceimpl<T> Debug for SyncSender<T>
impl<T> Debug for SyncSender<T>
sourceimpl<T> Debug for TryLockError<T>
impl<T> Debug for TryLockError<T>
1.57.0 · sourceimpl<'a> Debug for CommandArgs<'a>
impl<'a> Debug for CommandArgs<'a>
1.16.0 · sourceimpl Debug for BarrierWaitResult
impl Debug for BarrierWaitResult
sourceimpl<'_, K, V, S> Debug for RawEntryBuilderMut<'_, K, V, S>
impl<'_, K, V, S> Debug for RawEntryBuilderMut<'_, K, V, S>
1.5.0 · sourceimpl Debug for WaitTimeoutResult
impl Debug for WaitTimeoutResult
1.13.0 · sourceimpl<'_> Debug for Components<'_>
impl<'_> Debug for Components<'_>
sourceimpl<'_, K, V> Debug for OccupiedError<'_, K, V> where
K: Debug,
V: Debug,
impl<'_, K, V> Debug for OccupiedError<'_, K, V> where
K: Debug,
V: Debug,
1.12.0 · sourceimpl<'_, K, V> Debug for OccupiedEntry<'_, K, V> where
K: Debug,
V: Debug,
impl<'_, K, V> Debug for OccupiedEntry<'_, K, V> where
K: Debug,
V: Debug,
sourceimpl<'_, K, V, S> Debug for RawVacantEntryMut<'_, K, V, S>
impl<'_, K, V, S> Debug for RawVacantEntryMut<'_, K, V, S>
1.8.0 · sourceimpl Debug for SystemTime
impl Debug for SystemTime
1.56.0 · sourceimpl Debug for WriterPanicked
impl Debug for WriterPanicked
1.16.0 · sourceimpl Debug for ChildStderr
impl Debug for ChildStderr
sourceimpl<'scope, T> Debug for ScopedJoinHandle<'scope, T>
impl<'scope, T> Debug for ScopedJoinHandle<'scope, T>
1.10.0 · sourceimpl Debug for UnixStream
impl Debug for UnixStream
sourceimpl<W> Debug for LineWriter<W> where
W: Write + Debug,
impl<W> Debug for LineWriter<W> where
W: Write + Debug,
1.16.0 · sourceimpl<'_> Debug for SplitPaths<'_>
impl<'_> Debug for SplitPaths<'_>
sourceimpl<T> Debug for SyncOnceCell<T> where
T: Debug,
impl<T> Debug for SyncOnceCell<T> where
T: Debug,
sourceimpl Debug for BacktraceFrame
impl Debug for BacktraceFrame
1.57.0 · sourceimpl<'a> Debug for CommandEnvs<'a>
impl<'a> Debug for CommandEnvs<'a>
1.16.0 · sourceimpl<'_, T, S> Debug for SymmetricDifference<'_, T, S> where
T: Debug + Eq + Hash,
S: BuildHasher,
impl<'_, T, S> Debug for SymmetricDifference<'_, T, S> where
T: Debug + Eq + Hash,
S: BuildHasher,
1.10.0 · sourceimpl Debug for UnixDatagram
impl Debug for UnixDatagram
1.26.0 · sourceimpl Debug for AccessError
impl Debug for AccessError
sourceimpl<T> Debug for PoisonError<T>
impl<T> Debug for PoisonError<T>
1.16.0 · sourceimpl<'_, T> Debug for RwLockReadGuard<'_, T> where
T: Debug,
impl<'_, T> Debug for RwLockReadGuard<'_, T> where
T: Debug,
sourceimpl<'_> Debug for BorrowedFd<'_>
impl<'_> Debug for BorrowedFd<'_>
sourceimpl<'_, K, V, S> Debug for RawEntryMut<'_, K, V, S> where
K: Debug,
V: Debug,
impl<'_, K, V, S> Debug for RawEntryMut<'_, K, V, S> where
K: Debug,
V: Debug,
sourceimpl<'a, P> Debug for SplitN<'a, P> where
P: Pattern<'a>,
<P as Pattern<'a>>::Searcher: Debug,
impl<'a, P> Debug for SplitN<'a, P> where
P: Pattern<'a>,
<P as Pattern<'a>>::Searcher: Debug,
1.34.0 · sourceimpl<'a> Debug for EscapeDefault<'a>
impl<'a> Debug for EscapeDefault<'a>
1.34.0 · sourceimpl Debug for CharTryFromError
impl Debug for CharTryFromError
1.13.0 · sourceimpl Debug for BorrowMutError
impl Debug for BorrowMutError
1.4.0 · sourceimpl<Ret, A, B, C, D, E, F, G, H, I, J> Debug for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, ...) -> Ret
impl<Ret, A, B, C, D, E, F, G, H, I, J> Debug for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, ...) -> Ret
1.26.0 · sourceimpl<Idx> Debug for RangeToInclusive<Idx> where
Idx: Debug,
impl<Idx> Debug for RangeToInclusive<Idx> where
Idx: Debug,
sourceimpl<Y, R> Debug for GeneratorState<Y, R> where
Y: Debug,
R: Debug,
impl<Y, R> Debug for GeneratorState<Y, R> where
Y: Debug,
R: Debug,
sourceimpl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> Debug for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) where
T1: Debug,
T2: Debug,
T3: Debug,
T4: Debug,
T5: Debug,
T6: Debug,
T7: Debug,
T8: Debug,
T9: Debug,
T10: Debug,
T11: Debug + ?Sized,
impl<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> Debug for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) where
T1: Debug,
T2: Debug,
T3: Debug,
T4: Debug,
T5: Debug,
T6: Debug,
T7: Debug,
T8: Debug,
T9: Debug,
T10: Debug,
T11: Debug + ?Sized,
1.31.0 · sourceimpl<'a, T> Debug for RChunksExact<'a, T> where
T: 'a + Debug,
impl<'a, T> Debug for RChunksExact<'a, T> where
T: 'a + Debug,
1.4.0 · sourceimpl<Ret, A, B, C, D, E, F, G, H, I> Debug for extern "C" fn(A, B, C, D, E, F, G, H, I) -> Ret
impl<Ret, A, B, C, D, E, F, G, H, I> Debug for extern "C" fn(A, B, C, D, E, F, G, H, I) -> Ret
sourceimpl<'a, 'b> Debug for StrSearcher<'a, 'b>
impl<'a, 'b> Debug for StrSearcher<'a, 'b>
1.17.0 · sourceimpl<'_> Debug for EncodeUtf16<'_>
impl<'_> Debug for EncodeUtf16<'_>
sourceimpl<'a> Debug for CharSearcher<'a>
impl<'a> Debug for CharSearcher<'a>
1.5.0 · sourceimpl<'a, P> Debug for RMatchIndices<'a, P> where
P: Pattern<'a>,
<P as Pattern<'a>>::Searcher: Debug,
impl<'a, P> Debug for RMatchIndices<'a, P> where
P: Pattern<'a>,
<P as Pattern<'a>>::Searcher: Debug,
sourceimpl<'a, T, const N: usize> Debug for ArrayChunksMut<'a, T, N> where
T: 'a + Debug,
impl<'a, T, const N: usize> Debug for ArrayChunksMut<'a, T, N> where
T: 'a + Debug,
1.5.0 · sourceimpl<'a, P> Debug for MatchIndices<'a, P> where
P: Pattern<'a>,
<P as Pattern<'a>>::Searcher: Debug,
impl<'a, P> Debug for MatchIndices<'a, P> where
P: Pattern<'a>,
<P as Pattern<'a>>::Searcher: Debug,
1.4.0 · sourceimpl<Ret, A, B, C, D, E, F, G> Debug for unsafe extern "C" fn(A, B, C, D, E, F, G, ...) -> Ret
impl<Ret, A, B, C, D, E, F, G> Debug for unsafe extern "C" fn(A, B, C, D, E, F, G, ...) -> Ret
1.34.0 · sourceimpl<'a> Debug for EscapeDebug<'a>
impl<'a> Debug for EscapeDebug<'a>
1.29.0 · sourceimpl<I, U> Debug for Flatten<I> where
I: Debug + Iterator,
U: Debug + Iterator,
<I as Iterator>::Item: IntoIterator,
<<I as Iterator>::Item as IntoIterator>::IntoIter == U,
<<I as Iterator>::Item as IntoIterator>::Item == <U as Iterator>::Item,
impl<I, U> Debug for Flatten<I> where
I: Debug + Iterator,
U: Debug + Iterator,
<I as Iterator>::Item: IntoIterator,
<<I as Iterator>::Item as IntoIterator>::IntoIter == U,
<<I as Iterator>::Item as IntoIterator>::Item == <U as Iterator>::Item,
1.60.0 · sourceimpl<'a> Debug for EscapeAscii<'a>
impl<'a> Debug for EscapeAscii<'a>
1.4.0 · sourceimpl<Ret, A, B, C, D, E, F, G, H, I, J, K> Debug for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K) -> Ret
impl<Ret, A, B, C, D, E, F, G, H, I, J, K> Debug for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K) -> Ret
sourceimpl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> Debug for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) where
T0: Debug,
T1: Debug,
T2: Debug,
T3: Debug,
T4: Debug,
T5: Debug,
T6: Debug,
T7: Debug,
T8: Debug,
T9: Debug,
T10: Debug,
T11: Debug + ?Sized,
impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> Debug for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) where
T0: Debug,
T1: Debug,
T2: Debug,
T3: Debug,
T4: Debug,
T5: Debug,
T6: Debug,
T7: Debug,
T8: Debug,
T9: Debug,
T10: Debug,
T11: Debug + ?Sized,
sourceimpl<'a, 'b> Debug for CharSliceSearcher<'a, 'b>
impl<'a, 'b> Debug for CharSliceSearcher<'a, 'b>
1.28.0 · sourceimpl Debug for NonZeroU64
impl Debug for NonZeroU64
1.4.0 · sourceimpl<Ret, A, B, C, D, E, F, G, H> Debug for unsafe extern "C" fn(A, B, C, D, E, F, G, H, ...) -> Ret
impl<Ret, A, B, C, D, E, F, G, H> Debug for unsafe extern "C" fn(A, B, C, D, E, F, G, H, ...) -> Ret
1.31.0 · sourceimpl<'a, T> Debug for RChunksMut<'a, T> where
T: 'a + Debug,
impl<'a, T> Debug for RChunksMut<'a, T> where
T: 'a + Debug,
1.26.0 · sourceimpl<Idx> Debug for RangeInclusive<Idx> where
Idx: Debug,
impl<Idx> Debug for RangeInclusive<Idx> where
Idx: Debug,
1.34.0 · sourceimpl Debug for Infallible
impl Debug for Infallible
1.4.0 · sourceimpl<Ret, A, B, C, D, E, F, G, H, I, J> Debug for extern "C" fn(A, B, C, D, E, F, G, H, I, J) -> Ret
impl<Ret, A, B, C, D, E, F, G, H, I, J> Debug for extern "C" fn(A, B, C, D, E, F, G, H, I, J) -> Ret
1.4.0 · sourceimpl<Ret, A, B, C, D, E, F, G, H> Debug for extern "C" fn(A, B, C, D, E, F, G, H, ...) -> Ret
impl<Ret, A, B, C, D, E, F, G, H> Debug for extern "C" fn(A, B, C, D, E, F, G, H, ...) -> Ret
1.4.0 · sourceimpl<Ret, A, B, C, D, E, F, G, H, I, J> Debug for extern "C" fn(A, B, C, D, E, F, G, H, I, J, ...) -> Ret
impl<Ret, A, B, C, D, E, F, G, H, I, J> Debug for extern "C" fn(A, B, C, D, E, F, G, H, I, J, ...) -> Ret
sourceimpl<Dyn> Debug for DynMetadata<Dyn> where
Dyn: ?Sized,
impl<Dyn> Debug for DynMetadata<Dyn> where
Dyn: ?Sized,
1.34.0 · sourceimpl Debug for NonZeroI16
impl Debug for NonZeroI16
sourceimpl<T3, T4, T5, T6, T7, T8, T9, T10, T11> Debug for (T3, T4, T5, T6, T7, T8, T9, T10, T11) where
T3: Debug,
T4: Debug,
T5: Debug,
T6: Debug,
T7: Debug,
T8: Debug,
T9: Debug,
T10: Debug,
T11: Debug + ?Sized,
impl<T3, T4, T5, T6, T7, T8, T9, T10, T11> Debug for (T3, T4, T5, T6, T7, T8, T9, T10, T11) where
T3: Debug,
T4: Debug,
T5: Debug,
T6: Debug,
T7: Debug,
T8: Debug,
T9: Debug,
T10: Debug,
T11: Debug + ?Sized,
1.4.0 · sourceimpl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> Debug for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L, ...) -> Ret
impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> Debug for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L, ...) -> Ret
1.51.0 · sourceimpl<'_, T, P> Debug for SplitInclusive<'_, T, P> where
T: Debug,
P: FnMut(&T) -> bool,
impl<'_, T, P> Debug for SplitInclusive<'_, T, P> where
T: Debug,
P: FnMut(&T) -> bool,
1.4.0 · sourceimpl<Ret, A, B, C, D, E, F, G, H, I, J, K> Debug for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, ...) -> Ret
impl<Ret, A, B, C, D, E, F, G, H, I, J, K> Debug for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, ...) -> Ret
1.4.0 · sourceimpl<Ret, A, B, C, D, E, F> Debug for unsafe extern "C" fn(A, B, C, D, E, F, ...) -> Ret
impl<Ret, A, B, C, D, E, F> Debug for unsafe extern "C" fn(A, B, C, D, E, F, ...) -> Ret
1.4.0 · sourceimpl<Ret, A, B, C, D, E, F, G, H> Debug for extern "C" fn(A, B, C, D, E, F, G, H) -> Ret
impl<Ret, A, B, C, D, E, F, G, H> Debug for extern "C" fn(A, B, C, D, E, F, G, H) -> Ret
1.28.0 · sourceimpl Debug for NonZeroU16
impl Debug for NonZeroU16
sourceimpl<I, G> Debug for IntersperseWith<I, G> where
I: Iterator + Debug,
G: Debug,
<I as Iterator>::Item: Debug,
impl<I, G> Debug for IntersperseWith<I, G> where
I: Iterator + Debug,
G: Debug,
<I as Iterator>::Item: Debug,
1.4.0 · sourceimpl<Ret, A, B, C, D, E, F, G, H> Debug for unsafe extern "C" fn(A, B, C, D, E, F, G, H) -> Ret
impl<Ret, A, B, C, D, E, F, G, H> Debug for unsafe extern "C" fn(A, B, C, D, E, F, G, H) -> Ret
1.4.0 · sourceimpl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> Debug for unsafe fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Ret
impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> Debug for unsafe fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Ret
1.28.0 · sourceimpl Debug for NonZeroUsize
impl Debug for NonZeroUsize
sourceimpl<'a, T, P> Debug for GroupByMut<'a, T, P> where
T: 'a + Debug,
impl<'a, T, P> Debug for GroupByMut<'a, T, P> where
T: 'a + Debug,
1.27.0 · sourceimpl Debug for CpuidResult
impl Debug for CpuidResult
1.9.0 · sourceimpl<H> Debug for BuildHasherDefault<H>
impl<H> Debug for BuildHasherDefault<H>
sourceimpl<T4, T5, T6, T7, T8, T9, T10, T11> Debug for (T4, T5, T6, T7, T8, T9, T10, T11) where
T4: Debug,
T5: Debug,
T6: Debug,
T7: Debug,
T8: Debug,
T9: Debug,
T10: Debug,
T11: Debug + ?Sized,
impl<T4, T5, T6, T7, T8, T9, T10, T11> Debug for (T4, T5, T6, T7, T8, T9, T10, T11) where
T4: Debug,
T5: Debug,
T6: Debug,
T7: Debug,
T8: Debug,
T9: Debug,
T10: Debug,
T11: Debug + ?Sized,
1.28.0 · sourceimpl<F> Debug for RepeatWith<F> where
F: Debug,
impl<F> Debug for RepeatWith<F> where
F: Debug,
1.4.0 · sourceimpl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> Debug for extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L, ...) -> Ret
impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> Debug for extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L, ...) -> Ret
1.55.0 · sourceimpl Debug for IntErrorKind
impl Debug for IntErrorKind
sourceimpl<I> Debug for Intersperse<I> where
I: Debug + Iterator,
<I as Iterator>::Item: Clone,
<I as Iterator>::Item: Debug,
impl<I> Debug for Intersperse<I> where
I: Debug + Iterator,
<I as Iterator>::Item: Clone,
<I as Iterator>::Item: Debug,
sourceimpl<'a, const N: usize> Debug for CharArraySearcher<'a, N>
impl<'a, const N: usize> Debug for CharArraySearcher<'a, N>
1.34.0 · sourceimpl<'a> Debug for EscapeUnicode<'a>
impl<'a> Debug for EscapeUnicode<'a>
sourceimpl<'a, P> Debug for SplitTerminator<'a, P> where
P: Pattern<'a>,
<P as Pattern<'a>>::Searcher: Debug,
impl<'a, P> Debug for SplitTerminator<'a, P> where
P: Pattern<'a>,
<P as Pattern<'a>>::Searcher: Debug,
1.13.0 · sourceimpl Debug for BorrowError
impl Debug for BorrowError
1.31.0 · sourceimpl<'a, T> Debug for RChunksExactMut<'a, T> where
T: 'a + Debug,
impl<'a, T> Debug for RChunksExactMut<'a, T> where
T: 'a + Debug,
sourceimpl Debug for FromFloatSecsError
impl Debug for FromFloatSecsError
sourceimpl<'a> Debug for CharIndices<'a>
impl<'a> Debug for CharIndices<'a>
1.20.0 · sourceimpl Debug for ParseCharError
impl Debug for ParseCharError
1.34.0 · sourceimpl<T, F> Debug for Successors<T, F> where
T: Debug,
impl<T, F> Debug for Successors<T, F> where
T: Debug,
1.4.0 · sourceimpl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> Debug for extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Ret
impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> Debug for extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Ret
1.34.0 · sourceimpl Debug for NonZeroI128
impl Debug for NonZeroI128
sourceimpl<T, const LANES: usize> Debug for Simd<T, LANES> where
T: SimdElement + Debug,
LaneCount<LANES>: SupportedLaneCount,
impl<T, const LANES: usize> Debug for Simd<T, LANES> where
T: SimdElement + Debug,
LaneCount<LANES>: SupportedLaneCount,
sourceimpl<T, const LANES: usize> Debug for Mask<T, LANES> where
T: MaskElement + Debug,
LaneCount<LANES>: SupportedLaneCount,
impl<T, const LANES: usize> Debug for Mask<T, LANES> where
T: MaskElement + Debug,
LaneCount<LANES>: SupportedLaneCount,
1.50.0 · sourceimpl Debug for LayoutError
impl Debug for LayoutError
1.21.0 · sourceimpl<T> Debug for Discriminant<T>
impl<T> Debug for Discriminant<T>
sourceimpl<'a, T, const N: usize> Debug for ArrayWindows<'a, T, N> where
T: 'a + Debug,
impl<'a, T, const N: usize> Debug for ArrayWindows<'a, T, N> where
T: 'a + Debug,
1.9.0 · sourceimpl<T> Debug for UnsafeCell<T> where
T: ?Sized,
impl<T> Debug for UnsafeCell<T> where
T: ?Sized,
1.4.0 · sourceimpl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> Debug for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Ret
impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> Debug for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Ret
1.36.0 · sourceimpl Debug for RawWakerVTable
impl Debug for RawWakerVTable
1.34.0 · sourceimpl Debug for TryFromSliceError
impl Debug for TryFromSliceError
1.34.0 · sourceimpl Debug for NonZeroI64
impl Debug for NonZeroI64
1.9.0 · sourceimpl Debug for DecodeUtf16Error
impl Debug for DecodeUtf16Error
1.3.0 · sourceimpl Debug for AtomicIsize
impl Debug for AtomicIsize
1.16.0 · sourceimpl<T> Debug for AssertUnwindSafe<T> where
T: Debug,
impl<T> Debug for AssertUnwindSafe<T> where
T: Debug,
sourceimpl<T6, T7, T8, T9, T10, T11> Debug for (T6, T7, T8, T9, T10, T11) where
T6: Debug,
T7: Debug,
T8: Debug,
T9: Debug,
T10: Debug,
T11: Debug + ?Sized,
impl<T6, T7, T8, T9, T10, T11> Debug for (T6, T7, T8, T9, T10, T11) where
T6: Debug,
T7: Debug,
T8: Debug,
T9: Debug,
T10: Debug,
T11: Debug + ?Sized,
1.4.0 · sourceimpl<Ret, A, B, C, D, E, F, G, H, I, J> Debug for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J) -> Ret
impl<Ret, A, B, C, D, E, F, G, H, I, J> Debug for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J) -> Ret
sourceimpl<'f> Debug for VaListImpl<'f>
impl<'f> Debug for VaListImpl<'f>
1.4.0 · sourceimpl<Ret, A, B, C, D, E, F, G, H, I, J, K> Debug for fn(A, B, C, D, E, F, G, H, I, J, K) -> Ret
impl<Ret, A, B, C, D, E, F, G, H, I, J, K> Debug for fn(A, B, C, D, E, F, G, H, I, J, K) -> Ret
sourceimpl<T7, T8, T9, T10, T11> Debug for (T7, T8, T9, T10, T11) where
T7: Debug,
T8: Debug,
T9: Debug,
T10: Debug,
T11: Debug + ?Sized,
impl<T7, T8, T9, T10, T11> Debug for (T7, T8, T9, T10, T11) where
T7: Debug,
T8: Debug,
T9: Debug,
T10: Debug,
T11: Debug + ?Sized,
1.16.0 · sourceimpl Debug for EscapeDefault
impl Debug for EscapeDefault
1.34.0 · sourceimpl<'a> Debug for SplitAsciiWhitespace<'a>
impl<'a> Debug for SplitAsciiWhitespace<'a>
1.31.0 · sourceimpl<'a, T> Debug for ChunksExact<'a, T> where
T: 'a + Debug,
impl<'a, T> Debug for ChunksExact<'a, T> where
T: 'a + Debug,
1.59.0 · sourceimpl Debug for TryFromCharError
impl Debug for TryFromCharError
1.4.0 · sourceimpl<Ret, A, B, C, D, E, F, G> Debug for unsafe extern "C" fn(A, B, C, D, E, F, G) -> Ret
impl<Ret, A, B, C, D, E, F, G> Debug for unsafe extern "C" fn(A, B, C, D, E, F, G) -> Ret
sourceimpl<'a, P> Debug for RSplitTerminator<'a, P> where
P: Pattern<'a>,
<P as Pattern<'a>>::Searcher: Debug,
impl<'a, P> Debug for RSplitTerminator<'a, P> where
P: Pattern<'a>,
<P as Pattern<'a>>::Searcher: Debug,
1.51.0 · sourceimpl<'_, T, P> Debug for SplitInclusiveMut<'_, T, P> where
T: Debug,
P: FnMut(&T) -> bool,
impl<'_, T, P> Debug for SplitInclusiveMut<'_, T, P> where
T: Debug,
P: FnMut(&T) -> bool,
1.51.0 · sourceimpl<'a, P> Debug for SplitInclusive<'a, P> where
P: Pattern<'a>,
<P as Pattern<'a>>::Searcher: Debug,
impl<'a, P> Debug for SplitInclusive<'a, P> where
P: Pattern<'a>,
<P as Pattern<'a>>::Searcher: Debug,
1.4.0 · sourceimpl<Ret, A, B, C, D, E, F, G, H, I, J, K> Debug for extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, ...) -> Ret
impl<Ret, A, B, C, D, E, F, G, H, I, J, K> Debug for extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, ...) -> Ret
sourceimpl<'a, 'b, const N: usize> Debug for CharArrayRefSearcher<'a, 'b, N>
impl<'a, 'b, const N: usize> Debug for CharArrayRefSearcher<'a, 'b, N>
1.4.0 · sourceimpl<Ret, A, B, C, D, E, F, G, H, I, J, K> Debug for unsafe fn(A, B, C, D, E, F, G, H, I, J, K) -> Ret
impl<Ret, A, B, C, D, E, F, G, H, I, J, K> Debug for unsafe fn(A, B, C, D, E, F, G, H, I, J, K) -> Ret
1.41.0 · sourceimpl<T> Debug for MaybeUninit<T>
impl<T> Debug for MaybeUninit<T>
1.28.0 · sourceimpl Debug for NonZeroU32
impl Debug for NonZeroU32
1.3.0 · sourceimpl Debug for AtomicBool
impl Debug for AtomicBool
1.4.0 · sourceimpl<Ret, A, B, C, D, E, F, G> Debug for extern "C" fn(A, B, C, D, E, F, G, ...) -> Ret
impl<Ret, A, B, C, D, E, F, G> Debug for extern "C" fn(A, B, C, D, E, F, G, ...) -> Ret
1.2.0 · sourceimpl<'a, P> Debug for Matches<'a, P> where
P: Pattern<'a>,
<P as Pattern<'a>>::Searcher: Debug,
impl<'a, P> Debug for Matches<'a, P> where
P: Pattern<'a>,
<P as Pattern<'a>>::Searcher: Debug,
1.4.0 · sourceimpl<Ret, A, B, C, D, E, F, G, H, I> Debug for unsafe fn(A, B, C, D, E, F, G, H, I) -> Ret
impl<Ret, A, B, C, D, E, F, G, H, I> Debug for unsafe fn(A, B, C, D, E, F, G, H, I) -> Ret
1.20.0 · sourceimpl Debug for EscapeDebug
impl Debug for EscapeDebug
1.3.0 · sourceimpl Debug for AtomicUsize
impl Debug for AtomicUsize
1.28.0 · sourceimpl Debug for NonZeroU128
impl Debug for NonZeroU128
1.9.0 · sourceimpl<I, U, F> Debug for FlatMap<I, U, F> where
I: Debug,
U: IntoIterator,
<U as IntoIterator>::IntoIter: Debug,
impl<I, U, F> Debug for FlatMap<I, U, F> where
I: Debug,
U: IntoIterator,
<U as IntoIterator>::IntoIter: Debug,
sourceimpl<T8, T9, T10, T11> Debug for (T8, T9, T10, T11) where
T8: Debug,
T9: Debug,
T10: Debug,
T11: Debug + ?Sized,
impl<T8, T9, T10, T11> Debug for (T8, T9, T10, T11) where
T8: Debug,
T9: Debug,
T10: Debug,
T11: Debug + ?Sized,
sourceimpl<'a, T, const N: usize> Debug for ArrayChunks<'a, T, N> where
T: 'a + Debug,
impl<'a, T, const N: usize> Debug for ArrayChunks<'a, T, N> where
T: 'a + Debug,
sourceimpl<T5, T6, T7, T8, T9, T10, T11> Debug for (T5, T6, T7, T8, T9, T10, T11) where
T5: Debug,
T6: Debug,
T7: Debug,
T8: Debug,
T9: Debug,
T10: Debug,
T11: Debug + ?Sized,
impl<T5, T6, T7, T8, T9, T10, T11> Debug for (T5, T6, T7, T8, T9, T10, T11) where
T5: Debug,
T6: Debug,
T7: Debug,
T8: Debug,
T9: Debug,
T10: Debug,
T11: Debug + ?Sized,
1.4.0 · sourceimpl<Ret, A, B, C, D, E, F, G, H, I, J> Debug for unsafe fn(A, B, C, D, E, F, G, H, I, J) -> Ret
impl<Ret, A, B, C, D, E, F, G, H, I, J> Debug for unsafe fn(A, B, C, D, E, F, G, H, I, J) -> Ret
1.34.0 · sourceimpl Debug for TryFromIntError
impl Debug for TryFromIntError
1.4.0 · sourceimpl<Ret, A, B, C, D, E, F, G, H, I> Debug for extern "C" fn(A, B, C, D, E, F, G, H, I, ...) -> Ret
impl<Ret, A, B, C, D, E, F, G, H, I> Debug for extern "C" fn(A, B, C, D, E, F, G, H, I, ...) -> Ret
1.4.0 · sourceimpl<Ret, A, B, C, D, E, F, G, H, I, J, K> Debug for extern "C" fn(A, B, C, D, E, F, G, H, I, J, K) -> Ret
impl<Ret, A, B, C, D, E, F, G, H, I, J, K> Debug for extern "C" fn(A, B, C, D, E, F, G, H, I, J, K) -> Ret
1.55.0 · sourceimpl<B, C> Debug for ControlFlow<B, C> where
B: Debug,
C: Debug,
impl<B, C> Debug for ControlFlow<B, C> where
B: Debug,
C: Debug,
1.31.0 · sourceimpl<'a, T> Debug for ChunksExactMut<'a, T> where
T: 'a + Debug,
impl<'a, T> Debug for ChunksExactMut<'a, T> where
T: 'a + Debug,
1.4.0 · sourceimpl<Ret, A, B, C, D, E, F, G, H, I> Debug for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I) -> Ret
impl<Ret, A, B, C, D, E, F, G, H, I> Debug for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I) -> Ret
1.34.0 · sourceimpl Debug for NonZeroIsize
impl Debug for NonZeroIsize
1.34.0 · sourceimpl Debug for NonZeroI32
impl Debug for NonZeroI32
1.1.0 · sourceimpl<'a> Debug for SplitWhitespace<'a>
impl<'a> Debug for SplitWhitespace<'a>
sourceimpl<T> Debug for Saturating<T> where
T: Debug,
impl<T> Debug for Saturating<T> where
T: Debug,
sourceimpl<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> Debug for (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) where
T2: Debug,
T3: Debug,
T4: Debug,
T5: Debug,
T6: Debug,
T7: Debug,
T8: Debug,
T9: Debug,
T10: Debug,
T11: Debug + ?Sized,
impl<T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> Debug for (T2, T3, T4, T5, T6, T7, T8, T9, T10, T11) where
T2: Debug,
T3: Debug,
T4: Debug,
T5: Debug,
T6: Debug,
T7: Debug,
T8: Debug,
T9: Debug,
T10: Debug,
T11: Debug + ?Sized,
1.2.0 · sourceimpl<'a, P> Debug for RMatches<'a, P> where
P: Pattern<'a>,
<P as Pattern<'a>>::Searcher: Debug,
impl<'a, P> Debug for RMatches<'a, P> where
P: Pattern<'a>,
<P as Pattern<'a>>::Searcher: Debug,
sourceimpl<'a, P> Debug for RSplitN<'a, P> where
P: Pattern<'a>,
<P as Pattern<'a>>::Searcher: Debug,
impl<'a, P> Debug for RSplitN<'a, P> where
P: Pattern<'a>,
<P as Pattern<'a>>::Searcher: Debug,
1.4.0 · sourceimpl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> Debug for fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Ret
impl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> Debug for fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Ret
sourceimpl<'a, P> Debug for RSplit<'a, P> where
P: Pattern<'a>,
<P as Pattern<'a>>::Searcher: Debug,
impl<'a, P> Debug for RSplit<'a, P> where
P: Pattern<'a>,
<P as Pattern<'a>>::Searcher: Debug,
1.4.0 · sourceimpl<Ret, A, B, C, D, E, F, G, H, I, J> Debug for fn(A, B, C, D, E, F, G, H, I, J) -> Ret
impl<Ret, A, B, C, D, E, F, G, H, I, J> Debug for fn(A, B, C, D, E, F, G, H, I, J) -> Ret
sourceimpl<'a> Debug for Utf8LossyChunk<'a>
impl<'a> Debug for Utf8LossyChunk<'a>
1.20.0 · sourceimpl<T> Debug for ManuallyDrop<T> where
T: Debug + ?Sized,
impl<T> Debug for ManuallyDrop<T> where
T: Debug + ?Sized,
1.4.0 · sourceimpl<Ret, A, B, C, D, E, F, G, H, I> Debug for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, ...) -> Ret
impl<Ret, A, B, C, D, E, F, G, H, I> Debug for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, ...) -> Ret
1.17.0 · sourceimpl<'_, T> Debug for Difference<'_, T> where
T: Debug,
impl<'_, T> Debug for Difference<'_, T> where
T: Debug,
sourceimpl<T> Debug for LinkedList<T> where
T: Debug,
impl<T> Debug for LinkedList<T> where
T: Debug,
1.4.0 · sourceimpl<T> Debug for BinaryHeap<T> where
T: Debug,
impl<T> Debug for BinaryHeap<T> where
T: Debug,
1.12.0 · sourceimpl<'_, K, V> Debug for VacantEntry<'_, K, V> where
K: Debug + Ord,
impl<'_, K, V> Debug for VacantEntry<'_, K, V> where
K: Debug + Ord,
sourceimpl<T> Debug for IntoIterSorted<T> where
T: Debug,
impl<T> Debug for IntoIterSorted<T> where
T: Debug,
1.21.0 · sourceimpl<'a, I, A> Debug for Splice<'a, I, A> where
I: 'a + Debug + Iterator,
A: 'a + Debug + Allocator,
<I as Iterator>::Item: Debug,
impl<'a, I, A> Debug for Splice<'a, I, A> where
I: 'a + Debug + Iterator,
A: 'a + Debug + Allocator,
<I as Iterator>::Item: Debug,
sourceimpl<'_, B> Debug for Cow<'_, B> where
B: Debug + ToOwned + ?Sized,
<B as ToOwned>::Owned: Debug,
impl<'_, B> Debug for Cow<'_, B> where
B: Debug + ToOwned + ?Sized,
<B as ToOwned>::Owned: Debug,
1.54.0 · sourceimpl<K, V> Debug for IntoValues<K, V> where
V: Debug,
impl<K, V> Debug for IntoValues<K, V> where
V: Debug,
1.57.0 · sourceimpl Debug for TryReserveError
impl Debug for TryReserveError
sourceimpl Debug for TryReserveErrorKind
impl Debug for TryReserveErrorKind
sourceimpl<'a, T> Debug for DrainSorted<'a, T> where
T: Debug + Ord,
impl<'a, T> Debug for DrainSorted<'a, T> where
T: Debug + Ord,
sourceimpl<'_, K, V, F> Debug for DrainFilter<'_, K, V, F> where
K: Debug,
V: Debug,
F: FnMut(&K, &mut V) -> bool,
impl<'_, K, V, F> Debug for DrainFilter<'_, K, V, F> where
K: Debug,
V: Debug,
F: FnMut(&K, &mut V) -> bool,
sourceimpl<'a, T, F, A> Debug for DrainFilter<'a, T, F, A> where
T: Debug,
F: Debug + FnMut(&mut T) -> bool,
A: Debug + Allocator,
impl<'a, T, F, A> Debug for DrainFilter<'a, T, F, A> where
T: Debug,
F: Debug + FnMut(&mut T) -> bool,
A: Debug + Allocator,
1.17.0 · sourceimpl<'_, T> Debug for SymmetricDifference<'_, T> where
T: Debug,
impl<'_, T> Debug for SymmetricDifference<'_, T> where
T: Debug,
1.17.0 · sourceimpl<'_, T> Debug for Intersection<'_, T> where
T: Debug,
impl<'_, T> Debug for Intersection<'_, T> where
T: Debug,
sourceimpl Debug for _Unwind_Reason_Code
impl Debug for _Unwind_Reason_Code
sourceimpl Debug for WasmEntryAttributes
impl Debug for WasmEntryAttributes
sourceimpl<T> Debug for Instrumented<T> where
T: Debug,
impl<T> Debug for Instrumented<T> where
T: Debug,
sourceimpl<T> Debug for WithDispatch<T> where
T: Debug,
impl<T> Debug for WithDispatch<T> where
T: Debug,
sourceimpl<T> Debug for DisplayValue<T> where
T: Display,
impl<T> Debug for DisplayValue<T> where
T: Display,
sourceimpl<T> Debug for DebugValue<T> where
T: Debug,
impl<T> Debug for DebugValue<T> where
T: Debug,
sourceimpl<'a> Debug for Attributes<'a>
impl<'a> Debug for Attributes<'a>
sourceimpl Debug for SetGlobalDefaultError
impl Debug for SetGlobalDefaultError
sourceimpl Debug for ParseLevelFilterError
impl Debug for ParseLevelFilterError
sourceimpl<T> Debug for CapacityError<T>
impl<T> Debug for CapacityError<T>
sourceimpl<const CAP: usize> Debug for ArrayString<CAP>
impl<const CAP: usize> Debug for ArrayString<CAP>
sourceimpl<'de, E> Debug for BorrowedBytesDeserializer<'de, E>
impl<'de, E> Debug for BorrowedBytesDeserializer<'de, E>
sourceimpl<E> Debug for I32Deserializer<E>
impl<E> Debug for I32Deserializer<E>
sourceimpl<E> Debug for I8Deserializer<E>
impl<E> Debug for I8Deserializer<E>
sourceimpl<E> Debug for F32Deserializer<E>
impl<E> Debug for F32Deserializer<E>
sourceimpl<E> Debug for U16Deserializer<E>
impl<E> Debug for U16Deserializer<E>
sourceimpl<'a> Debug for Unexpected<'a>
impl<'a> Debug for Unexpected<'a>
sourceimpl<E> Debug for I64Deserializer<E>
impl<E> Debug for I64Deserializer<E>
sourceimpl<E> Debug for UsizeDeserializer<E>
impl<E> Debug for UsizeDeserializer<E>
sourceimpl<E> Debug for IsizeDeserializer<E>
impl<E> Debug for IsizeDeserializer<E>
sourceimpl<E> Debug for F64Deserializer<E>
impl<E> Debug for F64Deserializer<E>
sourceimpl<E> Debug for BoolDeserializer<E>
impl<E> Debug for BoolDeserializer<E>
sourceimpl<'a, E> Debug for CowStrDeserializer<'a, E>
impl<'a, E> Debug for CowStrDeserializer<'a, E>
sourceimpl<E> Debug for U64Deserializer<E>
impl<E> Debug for U64Deserializer<E>
sourceimpl<'a, E> Debug for StrDeserializer<'a, E>
impl<'a, E> Debug for StrDeserializer<'a, E>
sourceimpl<A> Debug for MapAccessDeserializer<A> where
A: Debug,
impl<A> Debug for MapAccessDeserializer<A> where
A: Debug,
sourceimpl<E> Debug for I128Deserializer<E>
impl<E> Debug for I128Deserializer<E>
sourceimpl<'a, E> Debug for BytesDeserializer<'a, E>
impl<'a, E> Debug for BytesDeserializer<'a, E>
sourceimpl<A> Debug for SeqAccessDeserializer<A> where
A: Debug,
impl<A> Debug for SeqAccessDeserializer<A> where
A: Debug,
sourceimpl<E> Debug for I16Deserializer<E>
impl<E> Debug for I16Deserializer<E>
sourceimpl<E> Debug for UnitDeserializer<E>
impl<E> Debug for UnitDeserializer<E>
sourceimpl<'de, E> Debug for BorrowedStrDeserializer<'de, E>
impl<'de, E> Debug for BorrowedStrDeserializer<'de, E>
sourceimpl<E> Debug for StringDeserializer<E>
impl<E> Debug for StringDeserializer<E>
sourceimpl<I, E> Debug for SeqDeserializer<I, E> where
I: Debug,
impl<I, E> Debug for SeqDeserializer<I, E> where
I: Debug,
sourceimpl<E> Debug for CharDeserializer<E>
impl<E> Debug for CharDeserializer<E>
sourceimpl<'de, I, E> Debug for MapDeserializer<'de, I, E> where
I: Iterator + Debug,
<I as Iterator>::Item: Pair,
<<I as Iterator>::Item as Pair>::Second: Debug,
impl<'de, I, E> Debug for MapDeserializer<'de, I, E> where
I: Iterator + Debug,
<I as Iterator>::Item: Pair,
<<I as Iterator>::Item as Pair>::Second: Debug,
sourceimpl<E> Debug for U128Deserializer<E>
impl<E> Debug for U128Deserializer<E>
sourceimpl<E> Debug for U8Deserializer<E>
impl<E> Debug for U8Deserializer<E>
sourceimpl<E> Debug for U32Deserializer<E>
impl<E> Debug for U32Deserializer<E>
sourceimpl<S, F, R> Debug for DynFilterFn<S, F, R>
impl<S, F, R> Debug for DynFilterFn<S, F, R>
sourceimpl<M> Debug for WithMinLevel<M> where
M: Debug,
impl<M> Debug for WithMinLevel<M> where
M: Debug,
sourceimpl<'a> Debug for DefaultVisitor<'a>
impl<'a> Debug for DefaultVisitor<'a>
sourceimpl<M, F> Debug for WithFilter<M, F> where
M: Debug,
F: Debug,
impl<M, F> Debug for WithFilter<M, F> where
M: Debug,
F: Debug,
sourceimpl<N, E, F, W> Debug for Subscriber<N, E, F, W> where
N: Debug,
E: Debug,
F: Debug,
W: Debug,
impl<N, E, F, W> Debug for Subscriber<N, E, F, W> where
N: Debug,
E: Debug,
F: Debug,
W: Debug,
sourceimpl<'a, R> Debug for SpanRef<'a, R> where
R: Debug + LookupSpan<'a>,
<R as LookupSpan<'a>>::Data: Debug,
impl<'a, R> Debug for SpanRef<'a, R> where
R: Debug + LookupSpan<'a>,
<R as LookupSpan<'a>>::Data: Debug,
sourceimpl<'a> Debug for JsonVisitor<'a>
impl<'a> Debug for JsonVisitor<'a>
sourceimpl<N, E, F, W> Debug for SubscriberBuilder<N, E, F, W> where
N: Debug,
E: Debug,
F: Debug,
W: Debug,
impl<N, E, F, W> Debug for SubscriberBuilder<N, E, F, W> where
N: Debug,
E: Debug,
F: Debug,
W: Debug,
sourceimpl<E> Debug for FormattedFields<E>
impl<E> Debug for FormattedFields<E>
sourceimpl<'a> Debug for PrettyVisitor<'a>
impl<'a> Debug for PrettyVisitor<'a>
sourceimpl<A, B> Debug for EitherWriter<A, B> where
A: Debug,
B: Debug,
impl<A, B> Debug for EitherWriter<A, B> where
A: Debug,
B: Debug,
sourceimpl<'a, F> Debug for FieldFnVisitor<'a, F>
impl<'a, F> Debug for FieldFnVisitor<'a, F>
sourceimpl<'a> Debug for ExtensionsMut<'a>
impl<'a> Debug for ExtensionsMut<'a>
sourceimpl<'a> Debug for Extensions<'a>
impl<'a> Debug for Extensions<'a>
sourceimpl<'a, R> Debug for ScopeFromRoot<'a, R> where
R: LookupSpan<'a>,
impl<'a, R> Debug for ScopeFromRoot<'a, R> where
R: LookupSpan<'a>,
sourceimpl<D, V> Debug for VisitDelimited<D, V> where
D: Debug,
V: Debug,
impl<D, V> Debug for VisitDelimited<D, V> where
D: Debug,
V: Debug,
sourceimpl<'a, R> Debug for FromRoot<'a, R> where
R: Debug + LookupSpan<'a>,
impl<'a, R> Debug for FromRoot<'a, R> where
R: Debug + LookupSpan<'a>,
sourceimpl<M> Debug for WithMaxLevel<M> where
M: Debug,
impl<M> Debug for WithMaxLevel<M> where
M: Debug,
sourceimpl<'a, L> Debug for Scope<'a, L> where
L: Debug + LookupSpan<'a>,
impl<'a, L> Debug for Scope<'a, L> where
L: Debug + LookupSpan<'a>,
sourceimpl<'a, S, N> Debug for FmtContext<'a, S, N>
impl<'a, S, N> Debug for FmtContext<'a, S, N>
sourceimpl<'r> Debug for CaptureNames<'r>
impl<'r> Debug for CaptureNames<'r>
sourceimpl<'r, 't> Debug for CaptureMatches<'r, 't>
impl<'r, 't> Debug for CaptureMatches<'r, 't>
sourceimpl Debug for CaptureLocations
impl Debug for CaptureLocations
sourceimpl<'a, R> Debug for ReplacerRef<'a, R> where
R: Debug + ?Sized,
impl<'a, R> Debug for ReplacerRef<'a, R> where
R: Debug + ?Sized,
sourceimpl<'r> Debug for CaptureNames<'r>
impl<'r> Debug for CaptureNames<'r>
sourceimpl Debug for SetMatchesIntoIter
impl Debug for SetMatchesIntoIter
sourceimpl<'r, 't> Debug for CaptureMatches<'r, 't>
impl<'r, 't> Debug for CaptureMatches<'r, 't>
sourceimpl<'a> Debug for SetMatchesIter<'a>
impl<'a> Debug for SetMatchesIter<'a>
sourceimpl Debug for SetMatchesIntoIter
impl Debug for SetMatchesIntoIter
sourceimpl<'c, 't> Debug for SubCaptureMatches<'c, 't>
impl<'c, 't> Debug for SubCaptureMatches<'c, 't>
sourceimpl<'a, R> Debug for ReplacerRef<'a, R> where
R: Debug + ?Sized,
impl<'a, R> Debug for ReplacerRef<'a, R> where
R: Debug + ?Sized,
sourceimpl<'a> Debug for SetMatchesIter<'a>
impl<'a> Debug for SetMatchesIter<'a>
sourceimpl Debug for CaptureLocations
impl Debug for CaptureLocations
sourceimpl<'c, 't> Debug for SubCaptureMatches<'c, 't>
impl<'c, 't> Debug for SubCaptureMatches<'c, 't>
sourceimpl Debug for ClassUnicodeKind
impl Debug for ClassUnicodeKind
sourceimpl Debug for ClassSetBinaryOpKind
impl Debug for ClassSetBinaryOpKind
sourceimpl Debug for ClassUnicodeRange
impl Debug for ClassUnicodeRange
sourceimpl<'a> Debug for ClassUnicodeIter<'a>
impl<'a> Debug for ClassUnicodeIter<'a>
sourceimpl Debug for UnicodeWordError
impl Debug for UnicodeWordError
sourceimpl Debug for SpecialLiteralKind
impl Debug for SpecialLiteralKind
sourceimpl Debug for TranslatorBuilder
impl Debug for TranslatorBuilder
sourceimpl Debug for ClassSetBinaryOp
impl Debug for ClassSetBinaryOp
sourceimpl Debug for ClassUnicodeOpKind
impl Debug for ClassUnicodeOpKind
sourceimpl<'a> Debug for ClassBytesIter<'a>
impl<'a> Debug for ClassBytesIter<'a>
sourceimpl<'a, 'b, S> Debug for FindOverlappingIter<'a, 'b, S> where
S: Debug + StateID,
impl<'a, 'b, S> Debug for FindOverlappingIter<'a, 'b, S> where
S: Debug + StateID,
sourceimpl<S> Debug for AhoCorasick<S> where
S: Debug + StateID,
impl<S> Debug for AhoCorasick<S> where
S: Debug + StateID,
sourceimpl Debug for AhoCorasickBuilder
impl Debug for AhoCorasickBuilder
sourceimpl<'h, 'n> Debug for FindRevIter<'h, 'n>
impl<'h, 'n> Debug for FindRevIter<'h, 'n>
sourceimpl<T, S> Debug for PremultipliedByteClass<T, S> where
T: Debug + AsRef<[S]>,
S: Debug + StateID,
impl<T, S> Debug for PremultipliedByteClass<T, S> where
T: Debug + AsRef<[S]>,
S: Debug + StateID,
sourceimpl Debug for Style
impl Debug for Style
Styles have a special Debug implementation that only shows the fields that
are set. Fields that haven’t been touched aren’t included in the output.
This behaviour gets bypassed when using the alternate formatting mode
format!("{:#?}").
use ansi_term::Colour::{Red, Blue};
assert_eq!("Style { fg(Red), on(Blue), bold, italic }",
format!("{:?}", Red.on(Blue).bold().italic()));sourceimpl<'a, S> Debug for ANSIGenericStrings<'a, S> where
S: 'a + Debug + ToOwned + PartialEq<S> + ?Sized,
<S as ToOwned>::Owned: Debug,
impl<'a, S> Debug for ANSIGenericStrings<'a, S> where
S: 'a + Debug + ToOwned + PartialEq<S> + ?Sized,
<S as ToOwned>::Owned: Debug,
sourceimpl<'a, S> Debug for ANSIGenericString<'a, S> where
S: 'a + Debug + ToOwned + ?Sized,
<S as ToOwned>::Owned: Debug,
impl<'a, S> Debug for ANSIGenericString<'a, S> where
S: 'a + Debug + ToOwned + ?Sized,
<S as ToOwned>::Owned: Debug,
sourceimpl Debug for InterestCacheConfig
impl Debug for InterestCacheConfig
sourceimpl<'a> Debug for MetadataBuilder<'a>
impl<'a> Debug for MetadataBuilder<'a>
sourceimpl<'a> Debug for RecordBuilder<'a>
impl<'a> Debug for RecordBuilder<'a>
sourceimpl<T, S> Debug for AHashSet<T, S> where
T: Debug,
S: BuildHasher,
impl<T, S> Debug for AHashSet<T, S> where
T: Debug,
S: BuildHasher,
sourceimpl Debug for OnceNonZeroUsize
impl Debug for OnceNonZeroUsize
sourceimpl Debug for ptrace_syscall_info
impl Debug for ptrace_syscall_info
sourceimpl Debug for pthread_rwlockattr_t
impl Debug for pthread_rwlockattr_t
sourceimpl Debug for sockaddr_storage
impl Debug for sockaddr_storage
sourceimpl Debug for uinput_abs_setup
impl Debug for uinput_abs_setup
sourceimpl Debug for user_regs_struct
impl Debug for user_regs_struct
sourceimpl Debug for ff_periodic_effect
impl Debug for ff_periodic_effect
sourceimpl Debug for pthread_rwlock_t
impl Debug for pthread_rwlock_t
sourceimpl Debug for pthread_mutexattr_t
impl Debug for pthread_mutexattr_t
sourceimpl Debug for ff_constant_effect
impl Debug for ff_constant_effect
sourceimpl Debug for uinput_ff_upload
impl Debug for uinput_ff_upload
sourceimpl Debug for input_keymap_entry
impl Debug for input_keymap_entry
sourceimpl Debug for __c_anonymous_sockaddr_can_tp
impl Debug for __c_anonymous_sockaddr_can_tp
sourceimpl Debug for posix_spawnattr_t
impl Debug for posix_spawnattr_t
sourceimpl Debug for ff_condition_effect
impl Debug for ff_condition_effect
sourceimpl Debug for seccomp_notif_sizes
impl Debug for seccomp_notif_sizes
sourceimpl Debug for ff_rumble_effect
impl Debug for ff_rumble_effect
sourceimpl Debug for pthread_condattr_t
impl Debug for pthread_condattr_t
sourceimpl Debug for user_fpregs_struct
impl Debug for user_fpregs_struct
sourceimpl Debug for posix_spawn_file_actions_t
impl Debug for posix_spawn_file_actions_t
sourceimpl Debug for sock_extended_err
impl Debug for sock_extended_err
sourceimpl Debug for ptrace_peeksiginfo_args
impl Debug for ptrace_peeksiginfo_args
sourceimpl Debug for fanotify_event_metadata
impl Debug for fanotify_event_metadata
sourceimpl Debug for signalfd_siginfo
impl Debug for signalfd_siginfo
sourceimpl Debug for fanotify_response
impl Debug for fanotify_response
sourceimpl<'_, K, V, S, A> Debug for RawEntryBuilder<'_, K, V, S, A> where
A: Allocator + Clone,
impl<'_, K, V, S, A> Debug for RawEntryBuilder<'_, K, V, S, A> where
A: Allocator + Clone,
sourceimpl<'_, T, S, A> Debug for Difference<'_, T, S, A> where
T: Debug + Eq + Hash,
S: BuildHasher,
A: Allocator + Clone,
impl<'_, T, S, A> Debug for Difference<'_, T, S, A> where
T: Debug + Eq + Hash,
S: BuildHasher,
A: Allocator + Clone,
sourceimpl<K, V, S, A> Debug for HashMap<K, V, S, A> where
K: Debug,
V: Debug,
A: Allocator + Clone,
impl<K, V, S, A> Debug for HashMap<K, V, S, A> where
K: Debug,
V: Debug,
A: Allocator + Clone,
sourceimpl<'_, K, V, S, A> Debug for VacantEntry<'_, K, V, S, A> where
K: Debug,
A: Allocator + Clone,
impl<'_, K, V, S, A> Debug for VacantEntry<'_, K, V, S, A> where
K: Debug,
A: Allocator + Clone,
sourceimpl<'_, K, V, S, A> Debug for Entry<'_, K, V, S, A> where
K: Debug,
V: Debug,
A: Allocator + Clone,
impl<'_, K, V, S, A> Debug for Entry<'_, K, V, S, A> where
K: Debug,
V: Debug,
A: Allocator + Clone,
sourceimpl<'_, K, V, S, A> Debug for RawEntryMut<'_, K, V, S, A> where
K: Debug,
V: Debug,
A: Allocator + Clone,
impl<'_, K, V, S, A> Debug for RawEntryMut<'_, K, V, S, A> where
K: Debug,
V: Debug,
A: Allocator + Clone,
sourceimpl<'_, K, V, S, A> Debug for RawEntryBuilderMut<'_, K, V, S, A> where
A: Allocator + Clone,
impl<'_, K, V, S, A> Debug for RawEntryBuilderMut<'_, K, V, S, A> where
A: Allocator + Clone,
sourceimpl<'_, T, S, A> Debug for Union<'_, T, S, A> where
T: Debug + Eq + Hash,
S: BuildHasher,
A: Allocator + Clone,
impl<'_, T, S, A> Debug for Union<'_, T, S, A> where
T: Debug + Eq + Hash,
S: BuildHasher,
A: Allocator + Clone,
sourceimpl<'_, K, V, S, A> Debug for RawOccupiedEntryMut<'_, K, V, S, A> where
K: Debug,
V: Debug,
A: Allocator + Clone,
impl<'_, K, V, S, A> Debug for RawOccupiedEntryMut<'_, K, V, S, A> where
K: Debug,
V: Debug,
A: Allocator + Clone,
sourceimpl<T, S, A> Debug for HashSet<T, S, A> where
T: Eq + Hash + Debug,
S: BuildHasher,
A: Allocator + Clone,
impl<T, S, A> Debug for HashSet<T, S, A> where
T: Eq + Hash + Debug,
S: BuildHasher,
A: Allocator + Clone,
sourceimpl<'_, T, S, A> Debug for SymmetricDifference<'_, T, S, A> where
T: Debug + Eq + Hash,
S: BuildHasher,
A: Allocator + Clone,
impl<'_, T, S, A> Debug for SymmetricDifference<'_, T, S, A> where
T: Debug + Eq + Hash,
S: BuildHasher,
A: Allocator + Clone,
sourceimpl<'_, K, V, A> Debug for Drain<'_, K, V, A> where
K: Debug,
V: Debug,
A: Allocator + Clone,
impl<'_, K, V, A> Debug for Drain<'_, K, V, A> where
K: Debug,
V: Debug,
A: Allocator + Clone,
sourceimpl<'_, K, V, S, A> Debug for RawVacantEntryMut<'_, K, V, S, A> where
A: Allocator + Clone,
impl<'_, K, V, S, A> Debug for RawVacantEntryMut<'_, K, V, S, A> where
A: Allocator + Clone,
sourceimpl<'_, K, V, S, A> Debug for OccupiedError<'_, K, V, S, A> where
K: Debug,
V: Debug,
A: Allocator + Clone,
impl<'_, K, V, S, A> Debug for OccupiedError<'_, K, V, S, A> where
K: Debug,
V: Debug,
A: Allocator + Clone,
sourceimpl<'_, T, S, A> Debug for Intersection<'_, T, S, A> where
T: Debug + Eq + Hash,
S: BuildHasher,
A: Allocator + Clone,
impl<'_, T, S, A> Debug for Intersection<'_, T, S, A> where
T: Debug + Eq + Hash,
S: BuildHasher,
A: Allocator + Clone,
sourceimpl<'_, K, V, S, A> Debug for OccupiedEntry<'_, K, V, S, A> where
K: Debug,
V: Debug,
A: Allocator + Clone,
impl<'_, K, V, S, A> Debug for OccupiedEntry<'_, K, V, S, A> where
K: Debug,
V: Debug,
A: Allocator + Clone,
sourceimpl Debug for CompactFormatter
impl Debug for CompactFormatter
sourceimpl<'a> Debug for PrettyFormatter<'a>
impl<'a> Debug for PrettyFormatter<'a>
sourceimpl<'a> Debug for SerializeAttributes<'a>
impl<'a> Debug for SerializeAttributes<'a>
sourceimpl<'a> Debug for SerializeFieldSet<'a>
impl<'a> Debug for SerializeFieldSet<'a>
sourceimpl<S> Debug for SerdeStructVisitor<S> where
S: Debug + SerializeStruct,
<S as SerializeStruct>::Error: Debug,
impl<S> Debug for SerdeStructVisitor<S> where
S: Debug + SerializeStruct,
<S as SerializeStruct>::Error: Debug,
sourceimpl<'a, T> Debug for SerializeFieldMap<'a, T> where
T: Debug,
impl<'a, T> Debug for SerializeFieldMap<'a, T> where
T: Debug,
sourceimpl<'a> Debug for SerializeEvent<'a>
impl<'a> Debug for SerializeEvent<'a>
sourceimpl<'a> Debug for SerializeRecord<'a>
impl<'a> Debug for SerializeRecord<'a>
sourceimpl<'a> Debug for SerializeLevel<'a>
impl<'a> Debug for SerializeLevel<'a>
sourceimpl<'a> Debug for SerializeMetadata<'a>
impl<'a> Debug for SerializeMetadata<'a>
sourceimpl<'a> Debug for SerializeId<'a>
impl<'a> Debug for SerializeId<'a>
sourceimpl<S> Debug for SerdeMapVisitor<S> where
S: Debug + SerializeMap,
<S as SerializeMap>::Error: Debug,
impl<S> Debug for SerdeMapVisitor<S> where
S: Debug + SerializeMap,
<S as SerializeMap>::Error: Debug,
sourceimpl<T, C> Debug for OwnedEntry<T, C> where
T: Debug,
C: Config,
impl<T, C> Debug for OwnedEntry<T, C> where
T: Debug,
C: Config,
sourceimpl<T> Debug for ThreadLocal<T> where
T: Send + Debug,
impl<T> Debug for ThreadLocal<T> where
T: Send + Debug,
sourceimpl<T> Debug for CachedThreadLocal<T> where
T: Send + Debug,
impl<T> Debug for CachedThreadLocal<T> where
T: Send + Debug,
sourceimpl Debug for WaitTimeoutResult
impl Debug for WaitTimeoutResult
sourceimpl<'a, R, T> Debug for MappedRwLockReadGuard<'a, R, T> where
R: 'a + RawRwLock,
T: 'a + Debug + ?Sized,
impl<'a, R, T> Debug for MappedRwLockReadGuard<'a, R, T> where
R: 'a + RawRwLock,
T: 'a + Debug + ?Sized,
sourceimpl<'a, R, T> Debug for RwLockUpgradableReadGuard<'a, R, T> where
R: 'a + RawRwLockUpgrade,
T: 'a + Debug + ?Sized,
impl<'a, R, T> Debug for RwLockUpgradableReadGuard<'a, R, T> where
R: 'a + RawRwLockUpgrade,
T: 'a + Debug + ?Sized,
sourceimpl<R, G, T> Debug for ReentrantMutex<R, G, T> where
R: RawMutex,
G: GetThreadId,
T: Debug + ?Sized,
impl<R, G, T> Debug for ReentrantMutex<R, G, T> where
R: RawMutex,
G: GetThreadId,
T: Debug + ?Sized,
sourceimpl<'a, R, G, T> Debug for MappedReentrantMutexGuard<'a, R, G, T> where
R: 'a + RawMutex,
G: 'a + GetThreadId,
T: 'a + Debug + ?Sized,
impl<'a, R, G, T> Debug for MappedReentrantMutexGuard<'a, R, G, T> where
R: 'a + RawMutex,
G: 'a + GetThreadId,
T: 'a + Debug + ?Sized,
sourceimpl<'a, R, T> Debug for MappedRwLockWriteGuard<'a, R, T> where
R: 'a + RawRwLock,
T: 'a + Debug + ?Sized,
impl<'a, R, T> Debug for MappedRwLockWriteGuard<'a, R, T> where
R: 'a + RawRwLock,
T: 'a + Debug + ?Sized,
sourceimpl<'a, R, T> Debug for MappedMutexGuard<'a, R, T> where
R: 'a + RawMutex,
T: 'a + Debug + ?Sized,
impl<'a, R, T> Debug for MappedMutexGuard<'a, R, T> where
R: 'a + RawMutex,
T: 'a + Debug + ?Sized,
sourceimpl<'a, R, G, T> Debug for ReentrantMutexGuard<'a, R, G, T> where
R: 'a + RawMutex,
G: 'a + GetThreadId,
T: 'a + Debug + ?Sized,
impl<'a, R, G, T> Debug for ReentrantMutexGuard<'a, R, G, T> where
R: 'a + RawMutex,
G: 'a + GetThreadId,
T: 'a + Debug + ?Sized,
sourceimpl<'a, R, T> Debug for RwLockReadGuard<'a, R, T> where
R: 'a + RawRwLock,
T: 'a + Debug + ?Sized,
impl<'a, R, T> Debug for RwLockReadGuard<'a, R, T> where
R: 'a + RawRwLock,
T: 'a + Debug + ?Sized,
sourceimpl<'a, R, T> Debug for RwLockWriteGuard<'a, R, T> where
R: 'a + RawRwLock,
T: 'a + Debug + ?Sized,
impl<'a, R, T> Debug for RwLockWriteGuard<'a, R, T> where
R: 'a + RawRwLock,
T: 'a + Debug + ?Sized,
sourceimpl Debug for CollectionAllocErr
impl Debug for CollectionAllocErr
sourceimpl Debug for NaiveDate
impl Debug for NaiveDate
The Debug output of the naive date d is the same as
d.format("%Y-%m-%d").
The string printed can be readily parsed via the parse method on str.
Example
use chrono::NaiveDate;
assert_eq!(format!("{:?}", NaiveDate::from_ymd(2015, 9, 5)), "2015-09-05");
assert_eq!(format!("{:?}", NaiveDate::from_ymd( 0, 1, 1)), "0000-01-01");
assert_eq!(format!("{:?}", NaiveDate::from_ymd(9999, 12, 31)), "9999-12-31");ISO 8601 requires an explicit sign for years before 1 BCE or after 9999 CE.
assert_eq!(format!("{:?}", NaiveDate::from_ymd( -1, 1, 1)), "-0001-01-01");
assert_eq!(format!("{:?}", NaiveDate::from_ymd(10000, 12, 31)), "+10000-12-31");sourceimpl<'a> Debug for StrftimeItems<'a>
impl<'a> Debug for StrftimeItems<'a>
sourceimpl<T> Debug for LocalResult<T> where
T: Debug,
impl<T> Debug for LocalResult<T> where
T: Debug,
sourceimpl Debug for IsoWeek
impl Debug for IsoWeek
The Debug output of the ISO week w is the same as
d.format("%G-W%V")
where d is any NaiveDate value in that week.
Example
use chrono::{NaiveDate, Datelike};
assert_eq!(format!("{:?}", NaiveDate::from_ymd(2015, 9, 5).iso_week()), "2015-W36");
assert_eq!(format!("{:?}", NaiveDate::from_ymd( 0, 1, 3).iso_week()), "0000-W01");
assert_eq!(format!("{:?}", NaiveDate::from_ymd(9999, 12, 31).iso_week()), "9999-W52");ISO 8601 requires an explicit sign for years before 1 BCE or after 9999 CE.
assert_eq!(format!("{:?}", NaiveDate::from_ymd( 0, 1, 2).iso_week()), "-0001-W52");
assert_eq!(format!("{:?}", NaiveDate::from_ymd(10000, 12, 31).iso_week()), "+10000-W52");sourceimpl Debug for ParseWeekdayError
impl Debug for ParseWeekdayError
sourceimpl Debug for NaiveDateTime
impl Debug for NaiveDateTime
The Debug output of the naive date and time dt is the same as
dt.format("%Y-%m-%dT%H:%M:%S%.f").
The string printed can be readily parsed via the parse method on str.
It should be noted that, for leap seconds not on the minute boundary, it may print a representation not distinguishable from non-leap seconds. This doesn’t matter in practice, since such leap seconds never happened. (By the time of the first leap second on 1972-06-30, every time zone offset around the world has standardized to the 5-minute alignment.)
Example
use chrono::NaiveDate;
let dt = NaiveDate::from_ymd(2016, 11, 15).and_hms(7, 39, 24);
assert_eq!(format!("{:?}", dt), "2016-11-15T07:39:24");Leap seconds may also be used.
let dt = NaiveDate::from_ymd(2015, 6, 30).and_hms_milli(23, 59, 59, 1_500);
assert_eq!(format!("{:?}", dt), "2015-06-30T23:59:60.500");sourceimpl<I> Debug for DelayedFormat<I> where
I: Debug,
impl<I> Debug for DelayedFormat<I> where
I: Debug,
sourceimpl Debug for NaiveTime
impl Debug for NaiveTime
The Debug output of the naive time t is the same as
t.format("%H:%M:%S%.f").
The string printed can be readily parsed via the parse method on str.
It should be noted that, for leap seconds not on the minute boundary, it may print a representation not distinguishable from non-leap seconds. This doesn’t matter in practice, since such leap seconds never happened. (By the time of the first leap second on 1972-06-30, every time zone offset around the world has standardized to the 5-minute alignment.)
Example
use chrono::NaiveTime;
assert_eq!(format!("{:?}", NaiveTime::from_hms(23, 56, 4)), "23:56:04");
assert_eq!(format!("{:?}", NaiveTime::from_hms_milli(23, 56, 4, 12)), "23:56:04.012");
assert_eq!(format!("{:?}", NaiveTime::from_hms_micro(23, 56, 4, 1234)), "23:56:04.001234");
assert_eq!(format!("{:?}", NaiveTime::from_hms_nano(23, 56, 4, 123456)), "23:56:04.000123456");Leap seconds may also be used.
assert_eq!(format!("{:?}", NaiveTime::from_hms_milli(6, 59, 59, 1_500)), "06:59:60.500");